package com.xxgc.ssm.po;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ReceivingAddressExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ReceivingAddressExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andRaIdIsNull() {
            addCriterion("ra_id is null");
            return (Criteria) this;
        }

        public Criteria andRaIdIsNotNull() {
            addCriterion("ra_id is not null");
            return (Criteria) this;
        }

        public Criteria andRaIdEqualTo(Long value) {
            addCriterion("ra_id =", value, "raId");
            return (Criteria) this;
        }

        public Criteria andRaIdNotEqualTo(Long value) {
            addCriterion("ra_id <>", value, "raId");
            return (Criteria) this;
        }

        public Criteria andRaIdGreaterThan(Long value) {
            addCriterion("ra_id >", value, "raId");
            return (Criteria) this;
        }

        public Criteria andRaIdGreaterThanOrEqualTo(Long value) {
            addCriterion("ra_id >=", value, "raId");
            return (Criteria) this;
        }

        public Criteria andRaIdLessThan(Long value) {
            addCriterion("ra_id <", value, "raId");
            return (Criteria) this;
        }

        public Criteria andRaIdLessThanOrEqualTo(Long value) {
            addCriterion("ra_id <=", value, "raId");
            return (Criteria) this;
        }

        public Criteria andRaIdIn(List<Long> values) {
            addCriterion("ra_id in", values, "raId");
            return (Criteria) this;
        }

        public Criteria andRaIdNotIn(List<Long> values) {
            addCriterion("ra_id not in", values, "raId");
            return (Criteria) this;
        }

        public Criteria andRaIdBetween(Long value1, Long value2) {
            addCriterion("ra_id between", value1, value2, "raId");
            return (Criteria) this;
        }

        public Criteria andRaIdNotBetween(Long value1, Long value2) {
            addCriterion("ra_id not between", value1, value2, "raId");
            return (Criteria) this;
        }

        public Criteria andRaAddressIsNull() {
            addCriterion("ra_address is null");
            return (Criteria) this;
        }

        public Criteria andRaAddressIsNotNull() {
            addCriterion("ra_address is not null");
            return (Criteria) this;
        }

        public Criteria andRaAddressEqualTo(String value) {
            addCriterion("ra_address =", value, "raAddress");
            return (Criteria) this;
        }

        public Criteria andRaAddressNotEqualTo(String value) {
            addCriterion("ra_address <>", value, "raAddress");
            return (Criteria) this;
        }

        public Criteria andRaAddressGreaterThan(String value) {
            addCriterion("ra_address >", value, "raAddress");
            return (Criteria) this;
        }

        public Criteria andRaAddressGreaterThanOrEqualTo(String value) {
            addCriterion("ra_address >=", value, "raAddress");
            return (Criteria) this;
        }

        public Criteria andRaAddressLessThan(String value) {
            addCriterion("ra_address <", value, "raAddress");
            return (Criteria) this;
        }

        public Criteria andRaAddressLessThanOrEqualTo(String value) {
            addCriterion("ra_address <=", value, "raAddress");
            return (Criteria) this;
        }

        public Criteria andRaAddressLike(String value) {
            addCriterion("ra_address like", value, "raAddress");
            return (Criteria) this;
        }

        public Criteria andRaAddressNotLike(String value) {
            addCriterion("ra_address not like", value, "raAddress");
            return (Criteria) this;
        }

        public Criteria andRaAddressIn(List<String> values) {
            addCriterion("ra_address in", values, "raAddress");
            return (Criteria) this;
        }

        public Criteria andRaAddressNotIn(List<String> values) {
            addCriterion("ra_address not in", values, "raAddress");
            return (Criteria) this;
        }

        public Criteria andRaAddressBetween(String value1, String value2) {
            addCriterion("ra_address between", value1, value2, "raAddress");
            return (Criteria) this;
        }

        public Criteria andRaAddressNotBetween(String value1, String value2) {
            addCriterion("ra_address not between", value1, value2, "raAddress");
            return (Criteria) this;
        }

        public Criteria andReLongitudeIsNull() {
            addCriterion("re_longitude is null");
            return (Criteria) this;
        }

        public Criteria andReLongitudeIsNotNull() {
            addCriterion("re_longitude is not null");
            return (Criteria) this;
        }

        public Criteria andReLongitudeEqualTo(Double value) {
            addCriterion("re_longitude =", value, "reLongitude");
            return (Criteria) this;
        }

        public Criteria andReLongitudeNotEqualTo(Double value) {
            addCriterion("re_longitude <>", value, "reLongitude");
            return (Criteria) this;
        }

        public Criteria andReLongitudeGreaterThan(Double value) {
            addCriterion("re_longitude >", value, "reLongitude");
            return (Criteria) this;
        }

        public Criteria andReLongitudeGreaterThanOrEqualTo(Double value) {
            addCriterion("re_longitude >=", value, "reLongitude");
            return (Criteria) this;
        }

        public Criteria andReLongitudeLessThan(Double value) {
            addCriterion("re_longitude <", value, "reLongitude");
            return (Criteria) this;
        }

        public Criteria andReLongitudeLessThanOrEqualTo(Double value) {
            addCriterion("re_longitude <=", value, "reLongitude");
            return (Criteria) this;
        }

        public Criteria andReLongitudeIn(List<Double> values) {
            addCriterion("re_longitude in", values, "reLongitude");
            return (Criteria) this;
        }

        public Criteria andReLongitudeNotIn(List<Double> values) {
            addCriterion("re_longitude not in", values, "reLongitude");
            return (Criteria) this;
        }

        public Criteria andReLongitudeBetween(Double value1, Double value2) {
            addCriterion("re_longitude between", value1, value2, "reLongitude");
            return (Criteria) this;
        }

        public Criteria andReLongitudeNotBetween(Double value1, Double value2) {
            addCriterion("re_longitude not between", value1, value2, "reLongitude");
            return (Criteria) this;
        }

        public Criteria andReLatitudeIsNull() {
            addCriterion("re_latitude is null");
            return (Criteria) this;
        }

        public Criteria andReLatitudeIsNotNull() {
            addCriterion("re_latitude is not null");
            return (Criteria) this;
        }

        public Criteria andReLatitudeEqualTo(Double value) {
            addCriterion("re_latitude =", value, "reLatitude");
            return (Criteria) this;
        }

        public Criteria andReLatitudeNotEqualTo(Double value) {
            addCriterion("re_latitude <>", value, "reLatitude");
            return (Criteria) this;
        }

        public Criteria andReLatitudeGreaterThan(Double value) {
            addCriterion("re_latitude >", value, "reLatitude");
            return (Criteria) this;
        }

        public Criteria andReLatitudeGreaterThanOrEqualTo(Double value) {
            addCriterion("re_latitude >=", value, "reLatitude");
            return (Criteria) this;
        }

        public Criteria andReLatitudeLessThan(Double value) {
            addCriterion("re_latitude <", value, "reLatitude");
            return (Criteria) this;
        }

        public Criteria andReLatitudeLessThanOrEqualTo(Double value) {
            addCriterion("re_latitude <=", value, "reLatitude");
            return (Criteria) this;
        }

        public Criteria andReLatitudeIn(List<Double> values) {
            addCriterion("re_latitude in", values, "reLatitude");
            return (Criteria) this;
        }

        public Criteria andReLatitudeNotIn(List<Double> values) {
            addCriterion("re_latitude not in", values, "reLatitude");
            return (Criteria) this;
        }

        public Criteria andReLatitudeBetween(Double value1, Double value2) {
            addCriterion("re_latitude between", value1, value2, "reLatitude");
            return (Criteria) this;
        }

        public Criteria andReLatitudeNotBetween(Double value1, Double value2) {
            addCriterion("re_latitude not between", value1, value2, "reLatitude");
            return (Criteria) this;
        }

        public Criteria andReDefaultIsNull() {
            addCriterion("re_default is null");
            return (Criteria) this;
        }

        public Criteria andReDefaultIsNotNull() {
            addCriterion("re_default is not null");
            return (Criteria) this;
        }

        public Criteria andReDefaultEqualTo(Boolean value) {
            addCriterion("re_default =", value, "reDefault");
            return (Criteria) this;
        }

        public Criteria andReDefaultNotEqualTo(Boolean value) {
            addCriterion("re_default <>", value, "reDefault");
            return (Criteria) this;
        }

        public Criteria andReDefaultGreaterThan(Boolean value) {
            addCriterion("re_default >", value, "reDefault");
            return (Criteria) this;
        }

        public Criteria andReDefaultGreaterThanOrEqualTo(Boolean value) {
            addCriterion("re_default >=", value, "reDefault");
            return (Criteria) this;
        }

        public Criteria andReDefaultLessThan(Boolean value) {
            addCriterion("re_default <", value, "reDefault");
            return (Criteria) this;
        }

        public Criteria andReDefaultLessThanOrEqualTo(Boolean value) {
            addCriterion("re_default <=", value, "reDefault");
            return (Criteria) this;
        }

        public Criteria andReDefaultIn(List<Boolean> values) {
            addCriterion("re_default in", values, "reDefault");
            return (Criteria) this;
        }

        public Criteria andReDefaultNotIn(List<Boolean> values) {
            addCriterion("re_default not in", values, "reDefault");
            return (Criteria) this;
        }

        public Criteria andReDefaultBetween(Boolean value1, Boolean value2) {
            addCriterion("re_default between", value1, value2, "reDefault");
            return (Criteria) this;
        }

        public Criteria andReDefaultNotBetween(Boolean value1, Boolean value2) {
            addCriterion("re_default not between", value1, value2, "reDefault");
            return (Criteria) this;
        }

        public Criteria andReUserIdIsNull() {
            addCriterion("re_user_id is null");
            return (Criteria) this;
        }

        public Criteria andReUserIdIsNotNull() {
            addCriterion("re_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andReUserIdEqualTo(Long value) {
            addCriterion("re_user_id =", value, "reUserId");
            return (Criteria) this;
        }

        public Criteria andReUserIdNotEqualTo(Long value) {
            addCriterion("re_user_id <>", value, "reUserId");
            return (Criteria) this;
        }

        public Criteria andReUserIdGreaterThan(Long value) {
            addCriterion("re_user_id >", value, "reUserId");
            return (Criteria) this;
        }

        public Criteria andReUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("re_user_id >=", value, "reUserId");
            return (Criteria) this;
        }

        public Criteria andReUserIdLessThan(Long value) {
            addCriterion("re_user_id <", value, "reUserId");
            return (Criteria) this;
        }

        public Criteria andReUserIdLessThanOrEqualTo(Long value) {
            addCriterion("re_user_id <=", value, "reUserId");
            return (Criteria) this;
        }

        public Criteria andReUserIdIn(List<Long> values) {
            addCriterion("re_user_id in", values, "reUserId");
            return (Criteria) this;
        }

        public Criteria andReUserIdNotIn(List<Long> values) {
            addCriterion("re_user_id not in", values, "reUserId");
            return (Criteria) this;
        }

        public Criteria andReUserIdBetween(Long value1, Long value2) {
            addCriterion("re_user_id between", value1, value2, "reUserId");
            return (Criteria) this;
        }

        public Criteria andReUserIdNotBetween(Long value1, Long value2) {
            addCriterion("re_user_id not between", value1, value2, "reUserId");
            return (Criteria) this;
        }

        public Criteria andReVolidIsNull() {
            addCriterion("re_volid is null");
            return (Criteria) this;
        }

        public Criteria andReVolidIsNotNull() {
            addCriterion("re_volid is not null");
            return (Criteria) this;
        }

        public Criteria andReVolidEqualTo(String value) {
            addCriterion("re_volid =", value, "reVolid");
            return (Criteria) this;
        }

        public Criteria andReVolidNotEqualTo(String value) {
            addCriterion("re_volid <>", value, "reVolid");
            return (Criteria) this;
        }

        public Criteria andReVolidGreaterThan(String value) {
            addCriterion("re_volid >", value, "reVolid");
            return (Criteria) this;
        }

        public Criteria andReVolidGreaterThanOrEqualTo(String value) {
            addCriterion("re_volid >=", value, "reVolid");
            return (Criteria) this;
        }

        public Criteria andReVolidLessThan(String value) {
            addCriterion("re_volid <", value, "reVolid");
            return (Criteria) this;
        }

        public Criteria andReVolidLessThanOrEqualTo(String value) {
            addCriterion("re_volid <=", value, "reVolid");
            return (Criteria) this;
        }

        public Criteria andReVolidLike(String value) {
            addCriterion("re_volid like", value, "reVolid");
            return (Criteria) this;
        }

        public Criteria andReVolidNotLike(String value) {
            addCriterion("re_volid not like", value, "reVolid");
            return (Criteria) this;
        }

        public Criteria andReVolidIn(List<String> values) {
            addCriterion("re_volid in", values, "reVolid");
            return (Criteria) this;
        }

        public Criteria andReVolidNotIn(List<String> values) {
            addCriterion("re_volid not in", values, "reVolid");
            return (Criteria) this;
        }

        public Criteria andReVolidBetween(String value1, String value2) {
            addCriterion("re_volid between", value1, value2, "reVolid");
            return (Criteria) this;
        }

        public Criteria andReVolidNotBetween(String value1, String value2) {
            addCriterion("re_volid not between", value1, value2, "reVolid");
            return (Criteria) this;
        }

        public Criteria andReCreatTimeIsNull() {
            addCriterion("re_creat_time is null");
            return (Criteria) this;
        }

        public Criteria andReCreatTimeIsNotNull() {
            addCriterion("re_creat_time is not null");
            return (Criteria) this;
        }

        public Criteria andReCreatTimeEqualTo(Date value) {
            addCriterion("re_creat_time =", value, "reCreatTime");
            return (Criteria) this;
        }

        public Criteria andReCreatTimeNotEqualTo(Date value) {
            addCriterion("re_creat_time <>", value, "reCreatTime");
            return (Criteria) this;
        }

        public Criteria andReCreatTimeGreaterThan(Date value) {
            addCriterion("re_creat_time >", value, "reCreatTime");
            return (Criteria) this;
        }

        public Criteria andReCreatTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("re_creat_time >=", value, "reCreatTime");
            return (Criteria) this;
        }

        public Criteria andReCreatTimeLessThan(Date value) {
            addCriterion("re_creat_time <", value, "reCreatTime");
            return (Criteria) this;
        }

        public Criteria andReCreatTimeLessThanOrEqualTo(Date value) {
            addCriterion("re_creat_time <=", value, "reCreatTime");
            return (Criteria) this;
        }

        public Criteria andReCreatTimeIn(List<Date> values) {
            addCriterion("re_creat_time in", values, "reCreatTime");
            return (Criteria) this;
        }

        public Criteria andReCreatTimeNotIn(List<Date> values) {
            addCriterion("re_creat_time not in", values, "reCreatTime");
            return (Criteria) this;
        }

        public Criteria andReCreatTimeBetween(Date value1, Date value2) {
            addCriterion("re_creat_time between", value1, value2, "reCreatTime");
            return (Criteria) this;
        }

        public Criteria andReCreatTimeNotBetween(Date value1, Date value2) {
            addCriterion("re_creat_time not between", value1, value2, "reCreatTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}